//package com.quick.controller;
//
//import com.quick.serivce.ISynTagsService;
//import com.quick.wx.pojo.SynTags;
//
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import lombok.extern.slf4j.Slf4j;
//import me.chanjar.weixin.common.error.WxErrorException;
//import me.chanjar.weixin.mp.api.WxMpService;
//import me.chanjar.weixin.mp.api.WxMpUserTagService;
//import me.chanjar.weixin.mp.bean.result.WxMpUser;
//import me.chanjar.weixin.mp.bean.tag.WxUserTag;
//import org.apache.commons.collections.CollectionUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//
//import java.util.ArrayList;
//import java.util.List;
//import java.util.stream.Collectors;
//
//@RestController
//@RequestMapping("wx")
//@Slf4j
//@Api(tags = "微信相关")
//public class WxController {
//    @Autowired
//    private WxMpUserTagService wxMpUserTagService;
//    @Autowired
//    private WxMpService wxMpService;
//    @Autowired
//    private ISynTagsService synTagsService;
//
//    @PostMapping("batchTagging")
//    @ApiOperation(value = "绑定标签")
//    public Boolean batchTagging(String tag,int size,String type){
//        try {
//            for (int i = 0; i < 1000; i++) {
//                List<SynTags> users = synTagsService.selectAll(type);
//                if(CollectionUtils.isNotEmpty(users)){
//                    List<SynTags> userTags = new ArrayList<>();
//                    for (int j = 0; j < size; j++) {
//                        userTags.add(users.get(j));
//                    }
//                    List<String> openIds = userTags.stream().map(SynTags::getOpenId).collect(Collectors.toList());
//                    List<WxMpUser> wxusers = wxMpService.getUserService().userInfoList(openIds);
//                    for (WxMpUser synTag : wxusers) {
//                        log.info("关注订阅::{}",synTag.getSubscribe()?"是":"否");
//                        if(synTag.getSubscribe()){
//                            openIds.add(synTag.getOpenId());
//                            boolean result = wxMpUserTagService.batchTagging(Long.valueOf(tag),openIds.toArray(new String[openIds.size()]));
//                            log.info("用户标签绑定::{}",result?"成功":"失败");
//                            synTagsService.updateState("01",synTag.getOpenId(),synTag.getSubscribe());
//                        }else{
//                            synTagsService.updateState("02",synTag.getOpenId(),synTag.getSubscribe());
//                        }
//                    }
//                }
//            }
//
//
//
//            return  true;
//        } catch (WxErrorException e) {
//           e.printStackTrace();
//        }
//        return null;
//    }
//    @PostMapping("createTags")
//    @ApiOperation(value = "创建标签")
//    public void createTags(String tag) throws WxErrorException {
//        wxMpUserTagService.tagCreate(tag);
//    }
//    @PostMapping("deleteTags")
//    @ApiOperation(value = "删除标签")
//    public void deleteTags(Long tagId) throws WxErrorException {
//        wxMpUserTagService.tagDelete(tagId);
//    }
//    @PostMapping("getTags")
//    @ApiOperation(value = "查询标签")
//    public List<WxUserTag> getTags() throws WxErrorException {
//        return wxMpUserTagService.tagGet();
//    }
//}
